package com.ruoyi.mysystem.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 消息管理对象 sys_message
 * 
 * @author bai
 * @date 2024-05-03
 */
public class SysMessage extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 消息ID */
    private Long messageId;

    /** 相关商品ID */
    @Excel(name = "相关商品ID")
    private Long relatedGoodsId;

    /** 消息内容 */
    @Excel(name = "消息内容")
    private String messageContent;

    /** 消息状态（0为未读，1为已读） */
    @Excel(name = "消息状态", readConverterExp = "0=为未读，1为已读")
    private String status;

    /** 删除标志（0为存在，2为删除） */
    private String delFlag;

    /** 接收人 */
    @Excel(name = "接收人")
    private String sendee;

    /** 类型（0表示预约消息，1表示评论消息） */
    @Excel(name = "类型", readConverterExp = "0=表示预约消息，1表示评论消息")
    private String type;

    /** 预约时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预约时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date appointmentTime;

    /** 预约地点 */
    @Excel(name = "预约地点")
    private String appointmentSite;

    /** 预约状态（0为预约未通过，1为预约被拒绝，2为预约通过） */
    @Excel(name = "预约状态", readConverterExp = "0=为预约未通过，1为预约被拒绝，2为预约通过")
    private String appointmentStatus;

    public void setMessageId(Long messageId) 
    {
        this.messageId = messageId;
    }

    public Long getMessageId() 
    {
        return messageId;
    }
    public void setRelatedGoodsId(Long relatedGoodsId) 
    {
        this.relatedGoodsId = relatedGoodsId;
    }

    public Long getRelatedGoodsId() 
    {
        return relatedGoodsId;
    }
    public void setMessageContent(String messageContent) 
    {
        this.messageContent = messageContent;
    }

    public String getMessageContent() 
    {
        return messageContent;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }
    public void setSendee(String sendee) 
    {
        this.sendee = sendee;
    }

    public String getSendee() 
    {
        return sendee;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setAppointmentTime(Date appointmentTime) 
    {
        this.appointmentTime = appointmentTime;
    }

    public Date getAppointmentTime() 
    {
        return appointmentTime;
    }
    public void setAppointmentSite(String appointmentSite) 
    {
        this.appointmentSite = appointmentSite;
    }

    public String getAppointmentSite() 
    {
        return appointmentSite;
    }
    public void setAppointmentStatus(String appointmentStatus) 
    {
        this.appointmentStatus = appointmentStatus;
    }

    public String getAppointmentStatus() 
    {
        return appointmentStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("messageId", getMessageId())
            .append("relatedGoodsId", getRelatedGoodsId())
            .append("messageContent", getMessageContent())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("sendee", getSendee())
            .append("type", getType())
            .append("appointmentTime", getAppointmentTime())
            .append("appointmentSite", getAppointmentSite())
            .append("appointmentStatus", getAppointmentStatus())
            .toString();
    }
}
